zs пре 1 година
родитељ
комит
f7ed68a2d1
1 измењених фајлова са 31 додато и 10 уклоњено
  1. 31 10
      src/views/system/buy/index.vue

+ 31 - 10
src/views/system/buy/index.vue

@@ -17,11 +17,14 @@
       <template v-slot:info>
         <el-col :span="24" class="dialog_one" v-if="dialog.type == '1'">
           <cForm :span="24" :fields="formFields" :form="form" :rules="rules" @save="toSave">
-            <template #office>
-              <el-option @click="toChange(i)" v-for="i in officeList" :key="i._id" :label="i.name" :value="i._id"></el-option>
+            <template #street>
+              <el-option @click="toChange(i)" v-for="i in streetList" :key="i._id" :label="i.name" :value="i._id"></el-option>
+            </template>
+            <template #community>
+              <el-option @click="toChange(i)" v-for="i in communityList" :key="i._id" :label="i.name" :value="i._id"></el-option>
             </template>
             <template #is_use>
-              <el-radio v-for="i in is_useList" :key="i.value" :label="i.label">{{ i.label }}</el-radio>
+              <el-radio v-for="(i, index) in is_useList" :key="index" :label="i.value">{{ i.label }}</el-radio>
             </template>
             <template #leader>
               <el-select v-model="form.leader" multiple placeholder="请选择审批领导" style="width: 100%">
@@ -66,7 +69,8 @@ let total: Ref<number> = ref(0);
 let skip = 0;
 let limit: number = proxy.$limit;
 let fields: Ref<any[]> = ref([
-  { label: '街道/社区', model: 'office', format: (i: any) => getDict(i, 'office') },
+  { label: '所属街道', model: 'street', format: (i: any) => getDict(i, 'office') },
+  { label: '所属社区', model: 'community', format: (i: any) => getDict(i, 'office') },
   { label: '领导', model: 'leader' },
   { label: '会计', model: 'accounting' },
   { label: '是否使用', model: 'is_use', format: (i: any) => getDict(i, 'is_use') }
@@ -81,23 +85,24 @@ const dialog: Ref<{ type: string; show: boolean; title: string }> = ref({ type:
 let form: Ref<{ leader: Array<any>; accounting: Array<any> }> = ref({ leader: [], accounting: [] });
 // 表单
 let formFields: Ref<any[]> = ref([
-  { label: '街道/社区', model: 'office', type: 'select' },
+  { label: '所属街道', model: 'street', type: 'select' },
+  { label: '所属社区', model: 'community', type: 'select' },
   { label: '领导', model: 'leader', custom: true },
   { label: '会计', model: 'accounting', custom: true },
   { label: '是否使用', model: 'is_use', type: 'radio' }
 ]);
 const rules = reactive<FormRules>({
-  name: [{ required: true, message: '名称', trigger: 'blur' }],
-  route: [{ required: true, message: '路由', trigger: 'blur' }],
-  url: [{ required: true, message: '图片', trigger: 'blur' }],
-  type: [{ required: true, message: '类型', trigger: 'blur' }],
-  sort: [{ required: true, message: '排序', trigger: 'blur' }]
+  office: [{ required: true, message: '街道/社区', trigger: 'blur' }],
+  leader: [{ required: true, message: '领导', trigger: 'blur' }],
+  accounting: [{ required: true, message: '会计', trigger: 'blur' }]
 });
 // 查询数据
 let searchForm: Ref<any> = ref({});
 // 字典表
 let is_useList: Ref<any> = ref([]);
 let officeList: Ref<any> = ref([]);
+let streetList: Ref<any> = ref([]);
+let communityList: Ref<any> = ref([]);
 let ldList: Ref<any> = ref([]);
 let kjList: Ref<any> = ref([]);
 
@@ -133,6 +138,9 @@ const toChange = async (val: any) => {
   // 会计
   res = await userAxios.query({ role: 'kj', ...info });
   if (res.errcode == '0') kjList.value = res.data;
+  // 所属社区
+  res = await officeAxios.query({ belong: val._id, type: '1', is_use: '0' });
+  if (res.errcode == '0') communityList.value = res.data;
 };
 const getDict = (value: any, model: any) => {
   if (model == 'is_use') {
@@ -141,6 +149,12 @@ const getDict = (value: any, model: any) => {
       if (data) return data.label;
       else return '暂无';
     }
+  } else if (model == 'office') {
+    if (value) {
+      let data = officeList.value.find((i: any) => i._id == value);
+      if (data) return data.name;
+      else return '暂无';
+    }
   }
 };
 // 新增
@@ -149,7 +163,11 @@ const toAdd = () => {
 };
 // 修改
 const toEdit = async (data: any) => {
+  let res;
   form.value = data;
+  // 所属社区
+  res = await officeAxios.query({ belong: data.street, type: '1', is_use: '0' });
+  if (res.errcode == '0') communityList.value = res.data;
   dialog.value = { title: '信息管理', show: true, type: '1' };
 };
 // 提交保存
@@ -185,6 +203,9 @@ const searchOther = async () => {
   // 街道
   res = await officeAxios.query({ is_use: '0' });
   if (res.errcode == '0') officeList.value = res.data;
+  // 所属街道
+  res = await officeAxios.query({ type: '0', is_use: '0' });
+  if (res.errcode == '0') streetList.value = res.data;
 };
 </script>
 <style scoped lang="scss">