This commit is contained in:
编码猿
2025-08-29 21:59:23 +08:00
parent a9bde91e8e
commit 983fc52780
4 changed files with 251 additions and 249 deletions

1
.pydio
View File

@@ -1 +0,0 @@
871006d1-20ee-4296-8a7d-a7a4ad9b9a96

View File

@@ -21,30 +21,30 @@ import { engineListItemTypes } from "@type/page/project.types";
export default class Analysis extends VueCustomize { export default class Analysis extends VueCustomize {
logic: AnalysisLogic<Analysis> = new AnalysisLogic(this); logic: AnalysisLogic<Analysis> = new AnalysisLogic(this);
RouterMeta: RouterMeta = { RouterMeta: RouterMeta = {
title : '数据分析', title: '数据分析',
showNav: true, showNav: true,
isLogin: true isLogin: true
}; };
public tableHeaderConfig: tableHeaderTypes[] = [ public tableHeaderConfig: tableHeaderTypes[] = [
{ label: `${ TEXT.DEVICE_NAME }`, prop: 'deviceName', width: 100 }, { label: `${TEXT.DEVICE_NAME}`, prop: 'deviceName', width: 100 },
{ label: TEXT.DEVICE_TYPE, prop: 'deviceModel' }, { label: TEXT.DEVICE_TYPE, prop: 'deviceModel' },
{ label: `${ TEXT.COMMPANY }名称`, prop: 'companyName', width: 150 }, { label: `${TEXT.COMMPANY}名称`, prop: 'companyName', width: 150 },
{ label: TEXT.PROJECT_NAME, prop: 'engineName', width: 120 }, { label: TEXT.PROJECT_NAME, prop: 'engineName', width: 120 },
{ label: TEXT.DOTTED_LINE, prop: 'pointNum' }, { label: TEXT.DOTTED_LINE, prop: 'pointNum' },
{ label: TEXT.IGUCHI_NUM, prop: 'wellNo' }, { label: TEXT.IGUCHI_NUM, prop: 'wellNo' },
{ label: TEXT.AREA, prop: 'area' }, { label: TEXT.AREA, prop: 'area' },
{ label: TEXT.ROAD, prop: 'road' }, { label: TEXT.ROAD, prop: 'road' },
{ label: TEXT.LATITUDE_AND_LONGITUDE, prop: 'longitude', width: 150, action: [ this.longitude ] }, { label: TEXT.LATITUDE_AND_LONGITUDE, prop: 'longitude', width: 150, action: [this.longitude] },
{ label: TEXT.MEASURE, prop: 'testUnit' }, { label: TEXT.MEASURE, prop: 'testUnit' },
{ label: TEXT.OWNERSHIP, prop: 'ownUnit' }, { label: TEXT.OWNERSHIP, prop: 'ownUnit' },
{ label: TEXT.CREATED_TIME, prop: 'createTime', width: 110, action: [ this.createTime ] }, { label: TEXT.CREATED_TIME, prop: 'createTime', width: 110, action: [this.createTime] },
{ label: TEXT.EDIT_TIME, prop: 'updateTime', width: 110, action: [ this.updateTime ] }, { label: TEXT.EDIT_TIME, prop: 'updateTime', width: 110, action: [this.updateTime] },
{ {
label : TEXT.OPERATE, label: TEXT.OPERATE,
prop : 'operate', prop: 'operate',
action: [ this.operateAction ] action: [this.operateAction]
}, },
]; ];
@@ -59,19 +59,19 @@ export default class Analysis extends VueCustomize {
public longitude(e: { row: dataAnalysisListItemTypes }): JSX.Element { public longitude(e: { row: dataAnalysisListItemTypes }): JSX.Element {
return <div> return <div>
{ e.row.longitude } <br/> { e.row.latitude } {e.row.longitude} <br /> {e.row.latitude}
</div> </div>
} }
public createTime(e: { row: dataAnalysisListItemTypes }): JSX.Element { public createTime(e: { row: dataAnalysisListItemTypes }): JSX.Element {
return <div> return <div>
{ this.logic.utils.formatDate(e.row.createTime) } {this.logic.utils.formatDate(e.row.createTime)}
</div> </div>
} }
public updateTime(e: { row: dataAnalysisListItemTypes }): JSX.Element { public updateTime(e: { row: dataAnalysisListItemTypes }): JSX.Element {
return <div> return <div>
{ this.logic.utils.formatDate(e.row.updateTime) } {this.logic.utils.formatDate(e.row.updateTime)}
</div> </div>
} }
@@ -79,14 +79,14 @@ export default class Analysis extends VueCustomize {
public operateAction(e: { row: engineListItemTypes }): JSX.Element { public operateAction(e: { row: engineListItemTypes }): JSX.Element {
return ( return (
<div class="table_action_list"> <div class="table_action_list">
<el-button type="text" onclick={ async () => { <el-button type="text" onclick={async () => {
this.logic.isDisabledForm = true this.logic.isDisabledForm = true
this.logic.formDialogType = 'view'; this.logic.formDialogType = 'view';
await this.logic.getDataAnalysisById(e.row) await this.logic.getDataAnalysisById(e.row)
this.logic.isShowFormDialog = true this.logic.isShowFormDialog = true
} }> }}>
<img src="/img/icon@2x(32).png" alt=""/> <img src="/img/icon@2x(32).png" alt="" />
<p>{ TEXT.VIEW }</p> <p>{TEXT.VIEW}</p>
</el-button> </el-button>
</div> </div>
) )
@@ -96,121 +96,121 @@ export default class Analysis extends VueCustomize {
public formDialog(): JSX.Element { public formDialog(): JSX.Element {
return ( return (
<div> <div>
<el-form label-position={ 'right' } <el-form label-position={'right'}
disabled={ this.logic.isDisabledForm } disabled={this.logic.isDisabledForm}
label-width="117px"> label-width="117px">
<el-row gutter={ 30 }> <el-row gutter={30}>
<el-col span={ 12 }> <el-col span={12}>
{/*{*/ } {/*{*/}
{/* this.userInfo.roleId === 1*/ } {/* this.userInfo.roleId === 1*/}
{/* ? <el-form-item label={ `${ TEXT.COMMPANY }名称:` }>*/ } {/* ? <el-form-item label={ `${ TEXT.COMMPANY }名称:` }>*/}
{/* <el-input v-model={ this.logic.addAnalysisParams.companyName } type="text"*/ } {/* <el-input v-model={ this.logic.addAnalysisParams.companyName } type="text"*/}
{/* placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input>*/ } {/* placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input>*/}
{/* </el-form-item>*/ } {/* </el-form-item>*/}
{/* : null*/ } {/* : null*/}
{/*}*/ } {/*}*/}
<el-form-item label={ `${ TEXT.PROJECT_NAME }` }> <el-form-item label={`${TEXT.PROJECT_NAME}`}>
<el-input v-model={ this.logic.addAnalysisParams.engineName } type="text" <el-input v-model={this.logic.addAnalysisParams.engineName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DEVICE_NAME }` }> <el-form-item label={`${TEXT.DEVICE_NAME}`}>
<el-input v-model={ this.logic.addAnalysisParams.deviceName } type="text" <el-input v-model={this.logic.addAnalysisParams.deviceName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DEVICE_TYPE }` }> <el-form-item label={`${TEXT.DEVICE_TYPE}`}>
<el-input v-model={ this.logic.addAnalysisParams.deviceModel } type="text" <el-input v-model={this.logic.addAnalysisParams.deviceModel} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.OWNERSHIPUNIT }` }> <el-form-item label={`${TEXT.OWNERSHIPUNIT}`}>
<el-input v-model={ this.logic.addAnalysisParams.ownUnit } type="text" <el-input v-model={this.logic.addAnalysisParams.ownUnit} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.ROAD }` }> <el-form-item label={`${TEXT.ROAD}`}>
<el-input v-model={ this.logic.addAnalysisParams.road } type="text" <el-input v-model={this.logic.addAnalysisParams.road} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.IGUCHI_NUM }` }> <el-form-item label={`${TEXT.IGUCHI_NUM}`}>
<el-input v-model={ this.logic.addAnalysisParams.wellNo } type="text" <el-input v-model={this.logic.addAnalysisParams.wellNo} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DESIGN_INNER_DIAMETER }` }> <el-form-item label={`${TEXT.DESIGN_INNER_DIAMETER}`}>
<el-input v-model={ this.logic.addAnalysisParams.realInner } type="text" <el-input v-model={this.logic.addAnalysisParams.realInner} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DETECTION_FREQUENCY }` }> <el-form-item label={`${TEXT.DETECTION_FREQUENCY}`}>
<el-input v-model={ this.logic.addAnalysisParams.checkNum } type="text" <el-input v-model={this.logic.addAnalysisParams.checkNum} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DETECTION_FOR_MAXIMUM_TIME }` }> <el-form-item label={`${TEXT.DETECTION_FOR_MAXIMUM_TIME}`}>
<el-input v-model={ this.logic.addAnalysisParams.maxCheckTime } type="text" <el-input v-model={this.logic.addAnalysisParams.maxCheckTime} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span={ 12 }> <el-col span={12}>
<el-form-item label={ `${ TEXT.MEASURE }` }> <el-form-item label={`${TEXT.MEASURE}`}>
<el-input v-model={ this.logic.addAnalysisParams.testUnit } type="text" <el-input v-model={this.logic.addAnalysisParams.testUnit} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.AREA }` }> <el-form-item label={`${TEXT.AREA}`}>
<el-input v-model={ this.logic.addAnalysisParams.area } type="text" <el-input v-model={this.logic.addAnalysisParams.area} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.LATITUDE_AND_LONGITUDE }` }> <el-form-item label={`${TEXT.LATITUDE_AND_LONGITUDE}`}>
<el-input v-model={ this.logic.addAnalysisParams.longitude } type="text" <el-input v-model={this.logic.addAnalysisParams.longitude} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DOTTED_LINE }` }> <el-form-item label={`${TEXT.DOTTED_LINE}`}>
{/*<div class="dotted_line">*/ } {/*<div class="dotted_line">*/}
{/* <el-tag type="success">9-10</el-tag>*/ } {/* <el-tag type="success">9-10</el-tag>*/}
{/*</div>*/ } {/*</div>*/}
<el-input v-model={ this.logic.addAnalysisParams.pointNum } <el-input v-model={this.logic.addAnalysisParams.pointNum}
type="text" type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.MEASURE_INNER_DIAMETE }` }> <el-form-item label={`${TEXT.MEASURE_INNER_DIAMETE}`}>
<el-input v-model={ this.logic.addAnalysisParams.testInner } type="text" <el-input v-model={this.logic.addAnalysisParams.testInner} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.INNER_DIAMETER_ERROR }` }> <el-form-item label={`${TEXT.INNER_DIAMETER_ERROR}`}>
<el-input v-model={ this.logic.addAnalysisParams.innerError } type="text" <el-input v-model={this.logic.addAnalysisParams.innerError} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.TESTED_BY }` }> <el-form-item label={`${TEXT.TESTED_BY}`}>
<el-input v-model={ this.logic.addAnalysisParams.checkUserName } type="text" <el-input v-model={this.logic.addAnalysisParams.checkUserName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.MINIMUM_DETECTION_TIME }` }> <el-form-item label={`${TEXT.MINIMUM_DETECTION_TIME}`}>
<el-input v-model={ this.logic.addAnalysisParams.minCheckTime } type="text" <el-input v-model={this.logic.addAnalysisParams.minCheckTime} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button <el-button
onclick={ () => { onclick={() => {
this.logic.isShowFormDialog = false this.logic.isShowFormDialog = false
} }> }}>
{ TEXT.CANCEL } {TEXT.CANCEL}
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -221,30 +221,29 @@ export default class Analysis extends VueCustomize {
return ( return (
<div class="analysis"> <div class="analysis">
<Container <Container
filters={ this.logic.filterList } filters={this.logic.filterList}
action={ this.logic.tableAction }/> action={this.logic.tableAction} />
<Table <Table
loading={ this.logic.loading } loading={this.logic.loading}
pageSize={ this.logic.pageSize } pageSize={this.logic.pageSize}
totalCount={ this.logic.totalCount } totalCount={this.logic.totalCount}
tableHeader={ this.tableHeaderConfig } tableHeader={this.tableHeaderConfig}
tableData={ this.logic.tableData.dataList } tableData={this.logic.tableData.dataList}
sizeChange={ async (page: number) => { sizeChange={async (page: number) => {
this.logic.filterParams.pageSize = page this.logic.filterParams.pageSize = page
await this.logic.dataAnalysisList() await this.logic.dataAnalysisList()
} } }}
pageChange={ async (page: number) => { pageChange={async (page: number) => {
this.logic.filterParams.pageNum = page; this.logic.filterParams.pageNum = page;
await this.logic.dataAnalysisList() await this.logic.dataAnalysisList()
} }/> }} />
<Dialog <Dialog
isShow={ this.logic.isShowFormDialog } isShow={this.logic.isShowFormDialog}
dialogContent={ this.formDialog }/> dialogContent={this.formDialog} />
</div> </div>
) )
} }
} }

View File

@@ -26,31 +26,31 @@ import { engineListItemTypes } from "@type/page/project.types";
export default class Pipe extends VueCustomize { export default class Pipe extends VueCustomize {
logic: PipeLogic<Pipe> = new PipeLogic(this); logic: PipeLogic<Pipe> = new PipeLogic(this);
RouterMeta: RouterMeta = { RouterMeta: RouterMeta = {
title : '管道管理', title: '管道管理',
showNav: true, showNav: true,
isLogin: true isLogin: true
}; };
public tableHeaderConfig: tableHeaderTypes[] = [ public tableHeaderConfig: tableHeaderTypes[] = [
{ {
type : 'selection', type: 'selection',
label : '', label: '',
prop : '', prop: '',
change: (e) => this.logic.multipleChoiceList = e change: (e) => this.logic.multipleChoiceList = e
}, },
{ label: `${ TEXT.PIPE_NUMBER }`, prop: 'pointNum' }, { label: `${TEXT.PIPE_NUMBER}`, prop: 'pointNum' },
{ label: TEXT.PROJECT_NAME, prop: 'engineName' }, { label: TEXT.PROJECT_NAME, prop: 'engineName' },
{ label: TEXT.TESTED_BY, prop: 'checkUserName' }, { label: TEXT.TESTED_BY, prop: 'checkUserName' },
{ label: TEXT.DETECTION_FREQUENCY, prop: 'checkNum' }, { label: TEXT.DETECTION_FREQUENCY, prop: 'checkNum' },
{ label: TEXT.LONGITUDE, prop: 'longitude' }, { label: TEXT.LONGITUDE, prop: 'longitude' },
{ label: TEXT.DIMENSION, prop: 'latitude' }, { label: TEXT.DIMENSION, prop: 'latitude' },
{ label: TEXT.DETECTION_TIME, prop: 'checkTime', action: [ this.checkTimeAction ] }, { label: TEXT.DETECTION_TIME, prop: 'checkTime', action: [this.checkTimeAction] },
{ label: TEXT.CREATED_TIME, prop: 'createTime', action: [ this.createTimeAction ] }, { label: TEXT.CREATED_TIME, prop: 'createTime', action: [this.createTimeAction] },
{ {
width : 389, width: 389,
label : TEXT.STATE, label: TEXT.STATE,
prop : 'operate', prop: 'operate',
action: [ this.operateAction ] action: [this.operateAction]
}, },
]; ];
@@ -65,13 +65,13 @@ export default class Pipe extends VueCustomize {
public checkTimeAction(e: { row: engineListItemTypes }): JSX.Element { public checkTimeAction(e: { row: engineListItemTypes }): JSX.Element {
return ( return (
<span>{ this.logic.utils.formatDate(e.row.checkTime) }</span> <span>{this.logic.utils.formatDate(e.row.checkTime)}</span>
) )
} }
public createTimeAction(e: { row: engineListItemTypes }): JSX.Element { public createTimeAction(e: { row: engineListItemTypes }): JSX.Element {
return ( return (
<span>{ this.logic.utils.formatDate(e.row.createTime) }</span> <span>{this.logic.utils.formatDate(e.row.createTime)}</span>
) )
} }
@@ -79,7 +79,7 @@ export default class Pipe extends VueCustomize {
public operateAction(e: { row: pointListItemTypes }): JSX.Element { public operateAction(e: { row: pointListItemTypes }): JSX.Element {
return ( return (
<div class="table_action_list"> <div class="table_action_list">
<el-button type="text" onclick={ async () => { <el-button type="text" onclick={async () => {
this.logic.isDisabledForm = true this.logic.isDisabledForm = true
this.logic.formDialogType = 'view'; this.logic.formDialogType = 'view';
@@ -87,12 +87,12 @@ export default class Pipe extends VueCustomize {
// 查看详情 时候 ,没有 companyName从 列表接口 取出,存放显示 // 查看详情 时候 ,没有 companyName从 列表接口 取出,存放显示
this.logic.addDataParams.companyName = e.row.companyName this.logic.addDataParams.companyName = e.row.companyName
this.logic.isShowFormDialog = true this.logic.isShowFormDialog = true
} }> }}>
<img src="/img/icon@2x(32).png" alt=""/> <img src="/img/icon@2x(32).png" alt="" />
<p>{ TEXT.VIEW }</p> <p>{TEXT.VIEW}</p>
</el-button> </el-button>
<el-button type="text" onclick={ async () => { <el-button type="text" onclick={async () => {
this.logic.isDisabledForm = false; this.logic.isDisabledForm = false;
this.logic.formDialogType = 'edit'; this.logic.formDialogType = 'edit';
@@ -105,16 +105,16 @@ export default class Pipe extends VueCustomize {
await this.logic.getPointById(e.row) await this.logic.getPointById(e.row)
this.logic.isShowFormDialog = true this.logic.isShowFormDialog = true
} }> }}>
<img src="/img/icon@2x(33).png" alt=""/> <img src="/img/icon@2x(33).png" alt="" />
<p>{ TEXT.EDIT }</p> <p>{TEXT.EDIT}</p>
</el-button> </el-button>
<el-button type="text" onclick={ async () => { <el-button type="text" onclick={async () => {
await this.logic.deletePointById(e.row) await this.logic.deletePointById(e.row)
} }> }}>
<img src="/img/icon@2x(30).png" alt=""/> <img src="/img/icon@2x(30).png" alt="" />
<p>{ TEXT.DELETE }</p> <p>{TEXT.DELETE}</p>
</el-button> </el-button>
</div> </div>
) )
@@ -125,25 +125,25 @@ export default class Pipe extends VueCustomize {
{ {
// roleId == 1 才显示 // roleId == 1 才显示
this.logic.userInfo.roleId === 1 this.logic.userInfo.roleId === 1
? <el-form-item label={ `${ TEXT.COMMPANY }` } prop="companyId"> ? <el-form-item label={`${TEXT.COMMPANY}`} prop="companyId">
{ {
// 如果是 查看 弹窗,只显示公司名称给用户看 // 如果是 查看 弹窗,只显示公司名称给用户看
this.logic.isDisabledForm this.logic.isDisabledForm
? <el-input v-model={ this.logic.addDataParams.companyName } type="text" ? <el-input v-model={this.logic.addDataParams.companyName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
// 如果是 编辑 & 新增,显示选项 // 如果是 编辑 & 新增,显示选项
: <el-select v-model={ this.logic.addDataParams.companyId } : <el-select v-model={this.logic.addDataParams.companyId}
clearable={ true } clearable={true}
filterable={ true } filterable={true}
remote={ true } remote={true}
onclear={ async () => { onclear={async () => {
// 将搜索参数置空 // 将搜索参数置空
this.logic.engineListParams.engineName = "" this.logic.engineListParams.engineName = ""
this.logic.engineListParams.companyId = null this.logic.engineListParams.companyId = null
this.logic.engineSelectData.dataList = [] this.logic.engineSelectData.dataList = []
} } }}
onchange={ async (e: string) => { onchange={async (e: string) => {
if (e.length !== 0) { if (e.length !== 0) {
this.logic.engineListParams.engineName = "" this.logic.engineListParams.engineName = ""
this.logic.engineListParams.companyId = null this.logic.engineListParams.companyId = null
@@ -153,27 +153,27 @@ export default class Pipe extends VueCustomize {
await this.logic.getEngineSelectList(); await this.logic.getEngineSelectList();
await this.logic.getUserListByCompanyId(Number(e)) await this.logic.getUserListByCompanyId(Number(e))
} }
} } }}
remote-method={ async (e: string) => { remote-method={async (e: string) => {
// 远程搜索 // 远程搜索
this.logic.companyListParams.companyName = e this.logic.companyListParams.companyName = e
await this.logic.getCompanyList() await this.logic.getCompanyList()
} } }}
on-visible-change={ async (action: boolean) => { on-visible-change={async (action: boolean) => {
// 显示的时候 查询 所有选项一次 // 显示的时候 查询 所有选项一次
if (action) { if (action) {
this.logic.companyListParams.companyName = "" this.logic.companyListParams.companyName = ""
await this.logic.getCompanyList() await this.logic.getCompanyList()
} }
} } }}
v-loadMore={ () => { v-loadMore={() => {
console.log("滚动加载...") console.log("滚动加载...")
} } }}
placeholder={ TEXT.SELECT_PLACEHOLDER }> placeholder={TEXT.SELECT_PLACEHOLDER}>
{ {
this.logic.companySelectData.dataList.map(v => { this.logic.companySelectData.dataList.map(v => {
return <el-option key={ v.companyId } label={ v.companyName } return <el-option key={v.companyId} label={v.companyName}
value={ v.companyId }></el-option> value={v.companyId}></el-option>
}) })
} }
</el-select> </el-select>
@@ -187,23 +187,23 @@ export default class Pipe extends VueCustomize {
// 项目名称 // 项目名称
public ProjectNameItem(): JSX.Element { public ProjectNameItem(): JSX.Element {
return ( return (
<el-form-item label={ `${ TEXT.PROJECT_NAME }` } prop="engineId"> <el-form-item label={`${TEXT.PROJECT_NAME}`} prop="engineId">
{ {
this.logic.isDisabledForm this.logic.isDisabledForm
? <el-input v-model={ this.logic.addDataParams.engineName } type="text" ? <el-input v-model={this.logic.addDataParams.engineName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
: <el-select v-model={ this.logic.addDataParams.engineId } : <el-select v-model={this.logic.addDataParams.engineId}
filterable={ true } filterable={true}
remote={ true } remote={true}
placeholder={ TEXT.SELECT_PLACEHOLDER } placeholder={TEXT.SELECT_PLACEHOLDER}
remote-method={ async (e: string) => { remote-method={async (e: string) => {
// 远程搜索 // 远程搜索
this.logic.engineListParams.engineName = e this.logic.engineListParams.engineName = e
await this.logic.getEngineSelectList() await this.logic.getEngineSelectList()
} }> }}>
{ {
this.logic.engineSelectData.dataList.map((v, i) => { this.logic.engineSelectData.dataList.map((v, i) => {
return <el-option key={ i } label={ v.engineName } value={ v.id }></el-option> return <el-option key={i} label={v.engineName} value={v.id}></el-option>
}) })
} }
</el-select> </el-select>
@@ -213,24 +213,24 @@ export default class Pipe extends VueCustomize {
} }
public testedBy(): JSX.Element { public testedBy(): JSX.Element {
return <el-form-item label={ `${ TEXT.TESTED_BY }` } prop="checkUserId"> return <el-form-item label={`${TEXT.TESTED_BY}`} prop="checkUserId">
{ {
this.logic.isDisabledForm this.logic.isDisabledForm
// 如果是添加弹窗 // 如果是添加弹窗
? <el-input v-model={ this.logic.addDataParams.checkUserName } type="text" ? <el-input v-model={this.logic.addDataParams.checkUserName} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
: <el-select v-model={ this.logic.addDataParams.checkUserId } : <el-select v-model={this.logic.addDataParams.checkUserId}
onchange={ async (e: string) => { onchange={async (e: string) => {
if (e.length !== 0) { if (e.length !== 0) {
// this.logic.addOrUpdateAndEditParams.userList = [] // this.logic.addOrUpdateAndEditParams.userList = []
// await this.logic.getDeviceByUserId(Number(e)) // await this.logic.getDeviceByUserId(Number(e))
} }
} } }}
placeholder={ TEXT.SELECT_PLACEHOLDER }> placeholder={TEXT.SELECT_PLACEHOLDER}>
{ {
this.logic.userListCompany.dataList.map((v, i) => { this.logic.userListCompany.dataList.map((v, i) => {
return <el-option label={ v.nickname } value={ v.id }></el-option> return <el-option label={v.nickname} value={v.id}></el-option>
}) })
} }
</el-select> </el-select>
@@ -242,53 +242,53 @@ export default class Pipe extends VueCustomize {
public formDialog(): JSX.Element { public formDialog(): JSX.Element {
return ( return (
<div> <div>
<el-form label-position={ 'right' } <el-form label-position={'right'}
props={ { model: this.logic.addDataParams } } props={{ model: this.logic.addDataParams }}
ref={ 'ruleForm' } ref={'ruleForm'}
rules={ this.logic.formRules } rules={this.logic.formRules}
disabled={ this.logic.isDisabledForm } disabled={this.logic.isDisabledForm}
label-width="117px"> label-width="117px">
<el-row gutter={ 30 }> <el-row gutter={30}>
<el-col span={ 12 }> <el-col span={12}>
{ this.commpanyList() } {this.commpanyList()}
{ this.ProjectNameItem() } {this.ProjectNameItem()}
{ this.testedBy() } {this.testedBy()}
<el-form-item label={ `${ TEXT.DETECTION_TIME }` }> <el-form-item label={`${TEXT.DETECTION_TIME}`}>
<el-input disabled={ true } <el-input disabled={true}
v-model={ this.logic.addDataParams.checkTime } type="text" v-model={this.logic.addDataParams.checkTime} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span={ 12 }> <el-col span={12}>
<el-form-item label={ `${ TEXT.PIPE_NUMBER }` } prop="pointNum"> <el-form-item label={`${TEXT.PIPE_NUMBER}`} prop="pointNum">
<el-input v-model={ this.logic.addDataParams.pointNum } type="text" <el-input v-model={this.logic.addDataParams.pointNum} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DETECTION_FREQUENCY }` }> <el-form-item label={`${TEXT.DETECTION_FREQUENCY}`}>
<el-input disabled={ true } v-model={ this.logic.addDataParams.checkNum } type="text" <el-input disabled={true} v-model={this.logic.addDataParams.checkNum} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.LONGITUDE }` } prop="longitude"> <el-form-item label={`${TEXT.LONGITUDE}`} prop="longitude">
<el-input v-model={ this.logic.addDataParams.longitude } type="text" <el-input v-model={this.logic.addDataParams.longitude} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.DIMENSION }` } prop="latitude"> <el-form-item label={`${TEXT.DIMENSION}`} prop="latitude">
<el-input v-model={ this.logic.addDataParams.latitude } type="text" <el-input v-model={this.logic.addDataParams.latitude} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
<el-form-item label={ `${ TEXT.CREATED_TIME }` }> <el-form-item label={`${TEXT.CREATED_TIME}`}>
<el-input disabled={ true } v-model={ this.logic.addDataParams.createTime } type="text" <el-input disabled={true} v-model={this.logic.addDataParams.createTime} type="text"
placeholder={ TEXT.INPUT_PLACEHOLDER }></el-input> placeholder={TEXT.INPUT_PLACEHOLDER}></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -298,20 +298,20 @@ export default class Pipe extends VueCustomize {
{ {
this.logic.formDialogType != "view" this.logic.formDialogType != "view"
? <el-button type="primary" ? <el-button type="primary"
onclick={ async () => { onclick={async () => {
this.logic.formDialogType === 'add' this.logic.formDialogType === 'add'
? await this.logic.addPoint(this.formRulesRef) ? await this.logic.addPoint(this.formRulesRef)
: await this.logic.updatePoint(this.formRulesRef) : await this.logic.updatePoint(this.formRulesRef)
} }> }}>
{ TEXT.SAVE } {TEXT.SAVE}
</el-button> </el-button>
: '' : ''
} }
<el-button <el-button
onclick={ () => { onclick={() => {
this.logic.isShowFormDialog = false this.logic.isShowFormDialog = false
} }> }}>
{ TEXT.CANCEL } {TEXT.CANCEL}
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -320,30 +320,30 @@ export default class Pipe extends VueCustomize {
protected render() { protected render() {
return ( return (
<div class={ this.userInfo.roleId != 1 ? 'hidden pipe' : 'pipe' }> <div class={this.userInfo.roleId != 1 ? 'hidden pipe' : 'pipe'}>
<Container <Container
filters={ this.logic.filterList } filters={this.logic.filterList}
action={ this.logic.tableAction }/> action={this.logic.tableAction} />
<Table <Table
loading={ this.logic.loading } loading={this.logic.loading}
pageSize={ this.logic.pageSize } pageSize={this.logic.pageSize}
totalCount={ this.logic.totalCount } totalCount={this.logic.totalCount}
tableHeader={ this.tableHeaderConfig } tableHeader={this.tableHeaderConfig}
tableData={ this.logic.tableData.dataList } tableData={this.logic.tableData.dataList}
sizeChange={ async (page: number) => { sizeChange={async (page: number) => {
this.logic.filterParams.pageSize = page this.logic.filterParams.pageSize = page
await this.logic.pointList() await this.logic.pointList()
} } }}
pageChange={ async (page: number) => { pageChange={async (page: number) => {
this.logic.filterParams.pageNum = page; this.logic.filterParams.pageNum = page;
await this.logic.pointList() await this.logic.pointList()
} }/> }} />
<Dialog <Dialog
top={ '6vh' } top={'6vh'}
isShow={ this.logic.isShowFormDialog } isShow={this.logic.isShowFormDialog}
dialogContent={ this.formDialog }/> dialogContent={this.formDialog} />
</div> </div>

View File

@@ -17,6 +17,10 @@ export class DataServiceImpl extends BaseService {
@POST() @POST()
public async deleteWellById(params: object = {}): Promise<void> { } public async deleteWellById(params: object = {}): Promise<void> { }
@POST()
public async deleteWellById(params: object = {}): Promise<void> {}
@POST() @POST()
public async batchDeleteWell(params: object = {}): Promise<void> { } public async batchDeleteWell(params: object = {}): Promise<void> { }