Browse Source

贞达市政前端安检维修增加导出功能、增加列表是否合格文字描述和选择、增加工号搜索;多人同时操作增加乐观锁

wang_xy 2 years ago
parent
commit
ebfcfa1a94

+ 4 - 4
src/api/gas/order.js

@@ -27,16 +27,16 @@ export function addOrder(data) {
 }
 
 // 批量合格
-export function submitY(id,reason) {
+export function submitY(id,reason, version) {
   return request({
-    url: '/gas/order/submitY?ids=' + id+'&reason='+reason,
+    url: '/gas/order/submitY?ids=' + id+'&reason='+reason+'&version='+version,
     method: 'get',
   })
 }
 // 批量不合格
-export function submitN(id,reason) {
+export function submitN(id,reason, version) {
   return request({
-    url: '/gas/order/submitN?ids=' + id+'&reason='+reason,
+    url: '/gas/order/submitN?ids=' + id+'&reason='+reason+'&version='+version,
     method: 'get',
   })
 }

+ 33 - 1
src/views/gas/anjian/index.vue

@@ -83,6 +83,17 @@
           v-hasPermi="['gas:order:remove']"
         >删除</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['gas:order:getListAnJianExport']"
+        >导出</el-button>
+      </el-col>
 <!--      <el-col :span="1.5">-->
 <!--        <el-button-->
 <!--          type="warning"-->
@@ -113,6 +124,7 @@
           </el-image>
         </template>
       </el-table-column>
+      <el-table-column label="是否合格" align="center" prop="whether"/>
       <el-table-column label="备注" align="center" prop="remark"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -190,6 +202,11 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="是否合格" prop="whether">
+          <el-select v-model="form.whether" filterable placeholder="请选择">
+            <el-option v-for="item in whetherList" :value="item.value" :label="item.label">{{item.label}}</el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
         </el-form-item>
@@ -229,6 +246,16 @@ export default {
   dicts: [],
   data() {
     return {
+      whetherList:[
+        {
+          value: '是',
+          label: '是',
+        },
+        {
+          value: '否',
+          label: '否',
+        }
+      ],
       // 按钮loading
       buttonLoading: false,
       // 遮罩层
@@ -308,6 +335,10 @@ export default {
       backup().then(response => {
       });
     },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.$download.excel('/gas/order/getListAnJianExport', this.queryParams);
+    },
     /** 查询工程管理列表 */
     getList() {
       this.loading = true;
@@ -396,7 +427,8 @@ export default {
         updateBy: undefined,
         updateTime: undefined,
         orderStatus:'002',
-        examineStatus:'001'
+        examineStatus:'001',
+        whether:undefined
       };
       this.resetForm("form");
     },

+ 17 - 5
src/views/gas/order/index1.vue

@@ -19,6 +19,16 @@
           </el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="工号" prop="jobNum">
+        <el-input
+          v-model="queryParams.jobNum"
+          :maxlength="4"
+          placeholder="请输入工号前四位"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -276,6 +286,7 @@ export default {
         userId: undefined,
         orderStatus: undefined,
         examineStatus: undefined,
+        jobNum: undefined,
       },
       // 表单参数
       form: {},
@@ -394,7 +405,8 @@ export default {
         createTime: undefined,
         updateBy: undefined,
         reason: undefined,
-        updateTime: undefined
+        updateTime: undefined,
+        version:undefined
       };
       this.resetForm("form");
     },
@@ -462,7 +474,7 @@ export default {
         const ids = this.form.id;
         this.$modal.confirm("确定审核?").then(() => {
           this.loading = true;
-          return submitY(ids,this.form.reason);
+          return submitY(ids,this.form.reason,this.form.version);
         }).then(() => {
           this.open = false;
           this.loading = false;
@@ -476,7 +488,7 @@ export default {
         const ids = row.id || this.ids;
         this.$modal.confirm("确定审核?").then(() => {
           this.loading = true;
-          return submitY(ids,this.form.reason);
+          return submitY(ids,this.form.reason,this.form.version);
         }).then(() => {
           this.loading = false;
           this.getList();
@@ -492,7 +504,7 @@ export default {
         const ids = this.form.id;
         this.$modal.confirm("确定审核?").then(() => {
           this.loading = true;
-          return submitN(ids,this.form.reason);
+          return submitN(ids,this.form.reason,this.form.version);
         }).then(() => {
           this.open = false;
           this.loading = false;
@@ -506,7 +518,7 @@ export default {
         const ids = row.id || this.ids;
         this.$modal.confirm("确定审核?").then(() => {
           this.loading = true;
-          return submitN(ids,this.form.reason);
+          return submitN(ids,this.form.reason,this.form.version);
         }).then(() => {
           this.loading = false;
           this.getList();

+ 63 - 2
src/views/gas/user/index.vue

@@ -111,6 +111,44 @@
         <el-form-item label="密码" prop="password">
           <el-input type="password" v-model="form.password" placeholder="请输入密码" />
         </el-form-item>
+
+
+        <el-form-item label="工程权限" prop="power">
+          <el-select
+            v-model="form.power"
+            placeholder="工程权限"
+            clearable
+            multiple
+            size="small"
+            style="width:100%"
+            @change="powerChange"
+          >
+            <el-option
+              v-for="dict in dict.type.engine_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="民用内部权限" prop="civilPower" v-if="isCivilPower" v-show="isCivilPower">
+          <el-select
+            v-model="form.civilPower"
+            placeholder="民用内部权限"
+            clearable
+            multiple
+            size="small"
+            style="width:100%"
+          >
+            <el-option
+              v-for="dict in dict.type.civil_power_user"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
@@ -125,7 +163,7 @@ import { listUser, getForPhone,getForJobnum,getUser, delUser, addUser,updateUser
 
 export default {
   name: "User",
-  dicts: ['user_type'],
+  dicts: ['user_type','engine_type','civil_power_user'],
   data() {
     // 手机号唯一性验证
     let validateAnotherPhone = (rule, value, callback) => {
@@ -197,6 +235,9 @@ export default {
         name: undefined,
         jobNum: undefined,
       },
+      // 工程权限集合
+      isCivilPower:false,
+
       foremanList:[],
       // 表单参数
       form: {},
@@ -251,7 +292,9 @@ export default {
         createBy: undefined,
         createTime: undefined,
         updateBy: undefined,
-        updateTime: undefined
+        updateTime: undefined,
+        power: undefined,
+        civilPower: undefined
       };
       this.resetForm("form");
     },
@@ -287,12 +330,23 @@ export default {
         this.form = response.data;
         this.open = true;
         this.title = "修改用户";
+        this.form.power = response.data.power.split(",");
+        if(response.data.power.indexOf('001')!=-1){
+          this.isCivilPower=true;
+        }
+        this.form.civilPower = response.data.civilPower.split(",");
       });
     },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          if(!this.isCivilPower){
+            this.form.civilPower=null;
+          }else {
+            this.form.civilPower = this.form.civilPower.toString();
+          }
+          this.form.power = this.form.power.toString();
           this.buttonLoading = true;
           if (this.form.id != null) {
             updateUser(this.form).then(response => {
@@ -331,6 +385,13 @@ export default {
     /** 导出按钮操作 */
     handleExport() {
         this.$download.excel('/gas/user/export', this.queryParams);
+    },
+    powerChange(val){
+      if(val.indexOf("001") > -1){
+        this.isCivilPower=true;
+      }else{
+        this.isCivilPower=false;
+      }
     }
   }
 };

+ 33 - 1
src/views/gas/weixiu/index.vue

@@ -83,6 +83,17 @@
           v-hasPermi="['gas:order:remove']"
         >删除</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['gas:order:getListWeiXiuExport']"
+        >导出</el-button>
+      </el-col>
 <!--      <el-col :span="1.5">-->
 <!--        <el-button-->
 <!--          type="warning"-->
@@ -113,6 +124,7 @@
           </el-image>
         </template>
       </el-table-column>
+      <el-table-column label="是否维修" align="center" prop="whether"/>
       <el-table-column label="备注" align="center" prop="remark"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -190,6 +202,11 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="是否维修" prop="whether">
+          <el-select v-model="form.whether" filterable placeholder="请选择">
+            <el-option v-for="item in whetherList" :value="item.value" :label="item.label">{{item.label}}</el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
         </el-form-item>
@@ -229,6 +246,16 @@ export default {
   dicts: [],
   data() {
     return {
+      whetherList:[
+        {
+          value: '是',
+          label: '是',
+        },
+        {
+          value: '否',
+          label: '否',
+        }
+      ],
       // 按钮loading
       buttonLoading: false,
       // 遮罩层
@@ -308,6 +335,10 @@ export default {
       backup().then(response => {
       });
     },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.$download.excel('/gas/order/getListWeiXiuExport', this.queryParams);
+    },
     /** 查询工程管理列表 */
     getList() {
       this.loading = true;
@@ -396,7 +427,8 @@ export default {
         updateBy: undefined,
         updateTime: undefined,
         orderStatus:'002',
-        examineStatus:'001'
+        examineStatus:'001',
+        whether:undefined
       };
       this.resetForm("form");
     },