提交 e0416766 authored 作者: zs's avatar zs
......@@ -283,7 +283,8 @@ LIMIT 1;`
}
let sql = `UPDATE ${table.inspectionRecordName} SET
signImg = '${data.signImg}',
synFlag = '${data.synFlag}'
synFlag = '${data.synFlag}',
isException = '${data.isException}',
WHERE id = ${data.id}`;
await sqllitedb.executeSQL(sql);
} catch (e) {
......
......@@ -36,20 +36,28 @@
</view>
</view>
<!-- {{ isSubmit }} {{ isSign }} -->
<view v-if="isSubmit" class="profile-right">
<button v-if="!isSign" class="record-button" @click="toSign">
<view class="profile-right">
<button
v-if="!isSign"
:disabled="!isSubmit"
:class="{
'record-button': true,
'disabled-btn': !isSubmit,
}"
@click="toSign"
>
巡检人签字
</button>
<view v-else-if="detailsInfo.synchronization != 1" class="action-container">
<image
class="sign-img"
:src="detailsInfo.signImg"
mode="aspectFit">
<view
v-else-if="detailsInfo.synchronization != 1"
class="action-container"
>
<image class="sign-img" :src="detailsInfo.signImg" mode="aspectFit">
</image>
<button class="record-button small" @click="toSign">
重签
</button>
<view class="inspection-button" @click="openDialog(true)">数据同步</view>
<button class="record-button small" @click="toSign">重签</button>
<view class="inspection-button" @click="openDialog(true)"
>数据同步</view
>
</view>
</view>
</view>
......@@ -120,8 +128,12 @@
v-if="position.status == 2"
class="iconfont icon-shibai1"
></text>
<text v-if="position.isSubmit === 0" class="status-text">草稿</text>
<text v-else class="status-text">{{ position.statusLable }}</text>
<text v-if="position.isSubmit === 0" class="status-text"
>草稿</text
>
<text v-else class="status-text">{{
position.statusLable
}}</text>
</view>
<view class="info-line">
<text class="info-text"
......@@ -183,8 +195,12 @@
v-if="position.status == 2"
class="iconfont icon-shibai1"
></text>
<text v-if="position.isSubmit === 0" class="status-text">草稿</text>
<text v-else class="status-text">{{ position.statusLable }}</text>
<text v-if="position.isSubmit === 0" class="status-text"
>草稿</text
>
<text v-else class="status-text">{{
position.statusLable
}}</text>
</view>
<view class="info-line">
<text class="info-text"
......@@ -202,7 +218,11 @@
</view>
</view>
<signDialog ref="signDialog" @confirm="handlePopupConfirm"></signDialog>
<Dialog v-show="showSyncDialog" :list="list" @close="openDialog(false)"></Dialog>
<Dialog
v-show="showSyncDialog"
:list="list"
@close="openDialog(false)"
></Dialog>
</view>
</template>
......@@ -219,13 +239,13 @@ import { getInspectionDetails } from "@/request/index.js";
import inspectApi from "@/api/inspect";
import signDialog from "@/components/signDialog.vue";
import detail from "./model/detail.vue";
import Dialog from '@/pages/inspectionManagement/dialog.vue'
import Dialog from "@/pages/inspectionManagement/dialog.vue";
import { sqlToData, dataToSql } from "./shared";
export default {
components: {
signDialog,
detail,
Dialog
Dialog,
},
data() {
return {
......@@ -262,7 +282,7 @@ export default {
detailsItem: {}, //单个井道详情
isShow: false,
showSyncDialog: false,
list: []
list: [],
};
},
computed: {
......@@ -329,7 +349,9 @@ export default {
},
// 获取井道详情
getDetailsItem(value, dictCode) {
let item = this.detailsInfo.originData.find(building => building.value === value)?.position.find(pos => pos.dictCode === dictCode)
let item = this.detailsInfo.originData
.find((building) => building.value === value)
?.position.find((pos) => pos.dictCode === dictCode);
if (item.status < 1) {
uni.showToast({
......@@ -358,7 +380,7 @@ export default {
if (this.activeTab == 0) {
this.cardsInfo = this.tabList;
} else {
let selected = this.tabList.find( t => t.name === tab)
let selected = this.tabList.find((t) => t.name === tab);
this.cardsInfo = [selected];
}
this.isShow = false;
......@@ -369,28 +391,32 @@ export default {
inspectApi
.info(uid)
.then((res) => {
console.log(res)
console.log(res);
const detailsInfo = sqlToData(res);
console.log("detailsInfo", detailsInfo);
this.detailsInfo = detailsInfo;
this.inspectionNumber = detailsInfo.inspectionNumber;
if(detailsInfo.synchronization === 1) {
if (detailsInfo.synchronization === 1) {
// 已同步数据的查看详情时,只展示'已巡检'的井道信息,过滤未巡检的井道
let defaultList = detailsInfo.originData
this.cardsInfo = this.tabList = defaultList.filter(building => {
building.position = building.position.filter(pos => pos.status === 1)
return building.position.length
})
let defaultList = detailsInfo.originData;
this.cardsInfo = this.tabList = defaultList.filter((building) => {
building.position = building.position.filter(
(pos) => pos.status === 1
);
return building.position.length;
});
} else {
this.cardsInfo = this.tabList = detailsInfo.originData;
}
this.inspectionCode = detailsInfo.inspectionCode;
// this.cardsInfo = this.tabList = detailsInfo.originData;
this.isSubmit = this.detailsInfo.originData.reduce((acc,cur) => {
acc.push(...cur.position)
return acc
}, []).every(pos => pos.isSubmit === '' || pos.isSubmit === 1);
this.isSubmit = this.detailsInfo.originData
.reduce((acc, cur) => {
acc.push(...cur.position);
return acc;
}, [])
.every((pos) => pos.isSubmit === "" || pos.isSubmit === 1);
this.isSign = !!this.detailsInfo.signImg;
this.cardsInfo.forEach((item) => {
this.tabs.push(item.name);
......@@ -432,11 +458,19 @@ export default {
handlePopupConfirm(summary) {
this.detailsInfo.isSign = this.isSign = true; // 回显到文字显示区域
this.detailsInfo.signImg = summary; // 回显到文字显示区域
this.submit("sign", this.detailsInfo.signImg);
// const isException = this.detailsInfo.originData.some(
// (item) => item.status == 2
// );
// this.detailsInfo.isException = isException ? 1 : 0; // 巡检异常
this.submit(
"sign",
this.detailsInfo.signImg,
this.detailsInfo.isException
);
},
// 提交
submit(type = "sign", value = "") {
submit(type = "sign", value = "", isException) {
const all_data = this.all_data; //获取全部数据
let params = this.detailsInfo;
params.signImg = value;
......@@ -463,12 +497,13 @@ export default {
addLog(log_list).then((res) => {
console.log("日志文件写入成功");
});
if(type === 'sign') {
if (type === "sign") {
inspectApi.updateSignImg({
id: params.id,
signImg: params.signImg,
synFlag: 0
})
synFlag: 0,
isException,
});
}
uni.showToast({
title: type == "sign" ? "签字成功" : "同步成功",
......@@ -500,17 +535,19 @@ export default {
}
},
openDialog(val) {
if(val) {
let data = dataToSql(this.detailsInfo)
this.list = [{
if (val) {
let data = dataToSql(this.detailsInfo);
this.list = [
{
...data,
id: this.uid
}]
id: this.uid,
},
];
} else {
this.list = []
}
this.showSyncDialog = val
this.list = [];
}
this.showSyncDialog = val;
},
},
};
</script>
......@@ -643,6 +680,10 @@ export default {
color: #3774f6;
line-height: 28.8px;
font-weight: 400;
&.disabled-btn {
color: #c7c7c7;
border-color: #c7c7c7;
}
}
.action-container {
display: flex;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论